/**
 * 
 */
package com.somobile.types.converters;

import java.lang.reflect.Type;

import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;

/**
 * @author Jatan
 *
 */
public class EnumDeserializer implements JsonDeserializer<Enum>
{
	private Class targetEnum = null;
	
	public EnumDeserializer(Class targetEnum)
	{
		this.targetEnum = targetEnum;
	}
	
	@Override
	public Enum deserialize(JsonElement json, Type typeOfT,
			JsonDeserializationContext context) throws JsonParseException
	{
		return Enum.valueOf(targetEnum, json.getAsString().toUpperCase());
	}

}
